package model

import (
	"context"
	"demo/domain/model/vo"
)

type UrlMapRepository interface {
	Save(ctx context.Context, entity *UrlMap) error

	FindById(ctx context.Context, id int64) (*UrlMap, error)

	FindByCompressCode(ctx context.Context, compressCode string) (*UrlMap, error)

	FindAll(ctx context.Context) (*[]UrlMap, error)

	Update(ctx context.Context, entity *UrlMap) error

	PageFindByCondition(ctx context.Context, query *vo.UrlMapPageMapCondition) ([]vo.UrlMapPageResult, int64, error)
}
